(Not Applicable)
(Not Applicable)
1. Technical Field
This invention relates to the field of computer speech navigation and more particularly to a method and apparatus for speech enabling labeless controls in an existing graphical user interface.
2. Description of the Related Art
Speech recognition, also referred to as speech-to-text, is technology that enables a computer to transcribe spoken words into computer recognized text equivalents. Speech recognition is the process of converting an acoustic signal, captured by a transducive element, such as a microphone or a telephone, to a set of words. Subsequently, these words can be used for speech navigation and speech dictation. Though the use of speech recognition for speech dictation has flourished, the transparent application of speech navigation to a graphical user interface for speech command and control lags behind.
Originally, speech application developers accomplished speech navigation by associating a discrete number of commands available in a graphical user interface with command and control macros. In turn, speech application developers assigned to each command and control macro a corresponding speech command. Thus, a speech navigation system user""s utterance invoked a particular command and control macro associated with a command in the graphical user interface. Still, the command specific nature of the speech user interface inhibited its generic application to customized graphical user interfaces. Notably a graphical user interface could include interface objects capable of performing at least one action, for example a button or a list box. Unless the speech developer was aware of each control in a graphical user interface, those controls unknown to the speech developer remained separate from the speech navigation system. Hence, past speech navigation systems lacked portability.
Recently, speech recognition systems have integrated speech navigation, at least as applied to standard graphical user interface controls. Using an accessibility interface, for instance Microsoft(copyright) Active Accessibility(copyright), speech developers can provide a more seamless interface between the speech navigation system and the graphical user interface. By way of example, Active Accessibility(copyright) can supply a speech navigation system with a wide variety of information concerning controls such as toolbars, buttons and menus in a program""s graphical user interface. Using an accessibility interface, speech developers can dynamically assign speech commands to individual controls according to information provided to the speech navigation system by the accessibility interface. In consequence, when a user invokes a window containing a set of controls, the speech navigation system, using the accessibility interface, can query the window for its contents identifying each control. Subsequently, the speech navigation system can assign corresponding standard speech commands according to the identity of each control.
Still, present speech navigation systems cannot properly supply an appropriate speech command for labeless controls not recognized by an accessibility interface. Specifically, present speech navigation systems cannot properly supply an appropriate speech command for controls not having an inherent label. As a result, in a window containing labeless controls in addition to standard controls, the accessibility interface can report only the identity of the standard controls. The speech navigation system will remain ineffective as to each labeless control. Thus, present systems do not provide a complete integration between the speech navigation system and the graphical user interface.
A system for extending the range of speech commands to labeless controls in an existing graphical user interface in accordance with the inventive arrangement satisfies the long-felt need of the prior art by providing a complete integration between the speech navigation system and the graphical user interface. Thus, the inventive arrangements provide a method and system for speech enabling labeless controls in an existing graphical user interface. The inventive arrangements have advantages over all known speech enabling methods used to speech enable graphical user interface controls, and provides a novel and nonobvious system, including apparatus and method, for speech enabling labeless controls in an existing graphical user interface.
A method for speech enabling labeless controls in an existing graphical user interface can comprise the steps of: identifying controls in a window contained in the graphical user interface; testing each identified control for an associated label; for each identified control having an associated label, adding the associated label to an active grammar of a speech recognition system; for each identified control not having an associated label, creating a label based upon object properties of contextual relevant user interface objects, for instance those object positioned proximate to the identified control; and, further adding each created label to the active grammar. In testing each identified control for an associated label, an accessibility interface query can be applied to each identified control in the window. In addition, in creating the label, each contextually relevant object can be searched for an object property descriptive of the identified control not having an associated label. Subsequently, a label can be formed based upon the descriptive object property found in the searching step.
A method for speech enabling labeless controls in an existing graphical user interface can further comprise the steps of: for each identified control not having a created label based upon an object property of contextually relevant object found in the searching step, determining whether the identified control has a default action; assigning a generic label to the identified control having a default action; associating the determined default action with the assigned label; and, adding the assigned label corresponding to the default action to the active grammar. Additionally, for each identified control having multiple actions with no clear default action, the method can further include the steps of forming a help panel with information about speech commands accessible for that identified control; and, assigning the help panel as the default action.